package file;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
import java.util.regex.Pattern;

public class DirList {

	public static FilenameFilter filter(final String regex){
		return new FilenameFilter(){
			private Pattern pattern=Pattern.compile(regex);
			public boolean accept(File dir,String name){
				return pattern.matcher(name).matches();
			}
		};
		
	}
	

	public static void main(String[] str){
		
		
		File path=new File(".");
		String[] list = null;
		
		if(str.length==0){
			list=path.list();
		}else{
//			 list=path.list(new DirFilter(str[0]));
			 list=path.list(filter(str[0]));
		}
		Arrays.sort(list,String.CASE_INSENSITIVE_ORDER);
		for(String diritem:list){
			System.out.println(diritem);
		}
	}
	
	
}

class DirFilter implements FilenameFilter{

	private Pattern pattern;
	public DirFilter (String regex){
		pattern=Pattern.compile(regex);
	}
	
	public boolean accept(File dir, String name) {
		// TODO Auto-generated method stub
		
		return pattern.matcher(name).matches();
	}
	
}